#ifndef ATENCIONUSUARIO_H_
#define ATENCIONUSUARIO_H_

#include "Hilo.h"
#include "Socket.h"
#include "Clase.h"
#include "Mutex.h"
#include <fstream>
#include <string.h>
#include <iostream>
#include <map>

class AtencionUsuario: public Hilo {

	Socket *socket, *socket_av;
	bool atendiendo;
	std::string nom_arch;
	std::map<unsigned int, Clase*> *clases;
	std::list<unsigned int> inscripciones;
	int codigo_clase_a_iniciar;
	Mutex *mutex;

public:
	AtencionUsuario(int fd, int fd_av , std::string nom_arch
			, std::map<unsigned int, Clase*> *clases, Mutex *mutex);
	bool getAtendiendo();
	void crearClase();
	void run();
	int recibir_y_mandar_frame();
	virtual ~AtencionUsuario();
protected:
	bool buscar(const unsigned int codClase);
	bool buscarInscripcion(unsigned int codClase);
	void inscribirAlumno(const unsigned int codClase, std::string nombre_alumno);
	int avisar_aAlumnos(const unsigned int codClase);
};

#endif
